package models

/**
 * @Author: zhaobin
 * @Description TODO
 * @Date: 2022-05-18 18:00
 */

type Cart struct {
	Id           int64   `json:"id"`
	GoodsId      int64   `json:"goods_id"`
	Title        string  `json:"title"`
	Price        float64 `json:"price"`
	Uid          int     `json:"uid"`
	Num          int     `json:"num"`
	GoodsImg     string  `json:"goods_img"`
	Checked      bool    `json:"checked"`
	GoodsGift    string
	GoodsFitting string
	GoodsColor   string
	GoodsAttr    string
}

// HasCartData 判断购物车里面有没有当前数据,true=>有
func HasCartData(cartList []Cart, cart Cart) bool {
	for i := 0; i < len(cartList); i++ {
		if cartList[i].GoodsId == cart.GoodsId {
			return true
		}
	}
	return false
}

type CartResponse struct {
	CartList       []Cart  `json:"cart_list"`
	AllPrice       float64 `json:"all_price"`
	CartNum        int     `json:"cart_num"`
	CartCheckedNum int     `json:"cart_checked_num"`
}

// UpdateCartNumParam 修改购物车数量传入的参数
type UpdateCartNumParam struct {
	UserId  int64 `json:"user_id"`  // 用户id
	GoodsId int64 `json:"goods_id"` // 商品id
	Num     int   `json:"num"`      // 商品数量
}

// UpdateCartCheckedParam 修改购物车商品是否选中传入的参数
type UpdateCartCheckedParam struct {
	UserId  int64 `json:"user_id"`  // 用户id
	GoodsId int64 `json:"goods_id"` // 商品id
	Checked bool  `json:"checked"`  // 选择状态
}

// UpdateCartAllCheckedParam 修改购物车商品是否选中传入的参数
type UpdateCartAllCheckedParam struct {
	UserId     int64 `json:"user_id"`
	AllChecked bool  `json:"all_checked"`
}

// DeleteCartGoodsParam 删除购物车中商品传入的参数
type DeleteCartGoodsParam struct {
	UserId  int64 `json:"user_id"`  // 用户id
	GoodsId int64 `json:"goods_id"` // 商品id
}
